iT邦幫忙

2024 iThome 鐵人賽

DAY 5
1

Day5 非監督式學習

非監督式學習是什麼

非監督式學習是機器學習中的一種關鍵技術,大家還記得前兩天提到的監督式學習嗎? 非監督式學習就是跟他相反的,它不依賴於事先標記的訓練範例來進行學習。這種學習方法允許演算法自動發現和學習輸入資料中的模式和結構。非監督式學習的應用範圍廣泛,包括聚類分析、異常檢測、關聯規則學習和降維等。這些技術可以幫助識別數據集中的自然分組,發現異常行為,或者簡化數據以便於進一步分析。例如,非監督式學習可以用於客戶細分,以識別具有相似購買行為的客戶群體,或者在生物資訊學中,用於基因表達資料的分類。

監督式學習 vs 非監督式學習

為了方便大家知道監督式學習跟非監督式學習的差異,我將其幾個比較常見的定義及差異整理成表格,讓大家可以更直觀的發下他們的不同。

特徵 監督式學習 非監督式學習
定義 使用標註好的資料來訓練模型 使用無標註的數據來發現內部結構
目標 預測標籤或輸出 發現資料中的模式和結構
資料要求 標註好的資料集 (輸入-輸出對) 無標註的數據集
輸出 預測結果(分類標籤或連續值) 群集標籤、關聯規則或降維後的特徵
優點 可以精確預測 - 適合處理複雜問題 可處理無標註資料 - 有助於資料探索
缺點 需要大量標註資料 - 標註成本高 無法直接預測標籤 - 有時需要先進技術解析

常見演算法

還記得在監督式學習中有分成兩個演算法,一個是迴歸另一個是分類嗎? 同樣的,在非監督式學習也可以分成幾個,常見的功能可分為分群(Clustering)、關聯(Association)與降維(Dimension Reduction),今天會簡單介紹非監督式學習的常見演算法。
https://ithelp.ithome.com.tw/upload/images/20240913/20159225BI8qYE65dE.png

  • 分群(Clustering),分群就是將資料依據其內部的相似性分成不同的群集。常見的算法有:

    • K-Means 聚類:K-Means 將資料分為 K 個不同的群集,每個群集由其內部資料點的相似性來定義。這種方法簡單且高效,但需要事先指定 K 值,且對於不同的初始值可能會有不同的結果。
    • 層次聚類 (Hierarchical Clustering):層次聚類通過計算資料點之間的距離或相似性來建立層次結構,可以形成樹狀的聚類結構。這種方法不需要指定群集數量,但計算量較大。
    • DBSCAN:DBSCAN 是基於密度的聚類方法,根據資料點周圍的密度來擴展聚類。這種方法可以發現任意形狀的群集,且不需要指定群集數量,但對參數的選擇較為敏感。
    • GMM (Gaussian Mixture Model):GMM 是基於高斯分佈的混合模型,將資料點分為多個高斯分佈組成的群集。這種方法可以處理不同形狀和大小的群集,但需要指定初始參數。
  • 接著是關聯(Association),關聯則是從資料集中找出項目之間的關聯規則。常見的算法有:

    • Apriori 演算法:Apriori 是一種經典的關聯規則學習算法,通過頻繁項目集來生成關聯規則。這種方法簡單易懂,但在處理大量資料時效率較低。
    • FP-Growth 演算法:FP-Growth 是一種改進的關聯規則學習算法,通過構建頻繁模式樹來高效地發現頻繁項目集。這種方法比 Apriori 更高效,但實現較為複雜。
  • 降維(Dimension Reduction)是指將高維資料轉換為低維資料,同時保留資料的主要訊息。簡單來說就是將資料壓縮,減少計算的資源。

  • 常見的算法有:

    • 主成分分析 (PCA, Principal Component Analysis):PCA 是一種線性降維技術,通過將資料投影到主成分方向來最大化資料的方差。這種方法簡單高效,但僅適用於線性可分資料。
    • t-SNE (t-Distributed Stochastic Neighbor Embedding):t-SNE 是一種非線性降維技術,特別適合於高維資料的可視化。這種方法可以很好地保留資料點之間的局部結構,但計算量較大。

以上這些就是非監督式學習中常見的分群、關聯與降維演算法的簡單介紹。選擇合適的算法取決於資料的特性和具體應用需求。

非監督式學習常見的應用

以下是一些常見的應用案例及這些算法的使用時機。

  • 分群(Clustering)應用案例:

    • 客戶細分:在市場行銷中,將客戶分成不同的群組,以便於針對不同群組制定差異化的行銷策略。
    • 圖像分割:在圖像處理中,將圖像分成不同的區域,用於目標檢測和圖像分析。
  • 關聯(Association)應用案例:

    • 購物籃分析:在零售業中,找出顧客購買的商品之間的關聯,以便於制定銷售策略和產品推薦。
    • 醫療診斷:在醫療資料中,找出疾病症狀和診斷之間的關聯,以幫助醫生做出診斷決策。

結論

非監督式學習技術在許多領域都有廣泛的應用。選擇合適的算法需要根據資料特性和具體應用需求來決定。無論是分群、關聯還是降維,每種算法都有其特定的使用場景和優勢。通過合理應用這些技術,可以從無標籤資料中挖掘出有價值的訊息,提升決策和預測的準確性。


上一篇
[Day4] 監督式學習的視覺化:用圖表看懂機器學習
下一篇
[Day6] 半監督式學習:結合監督與非監督的力量
系列文
深度學習的學習之旅:從理論到實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言